/* @author cerimice */
package Persistencia.Definicion;

import Sistema.Configuracion;

import java.util.Date;
import java.io.Serializable;
import java.util.Collection;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.NamedQuery;
import javax.persistence.NamedQueries;
import javax.persistence.CascadeType;

import javax.persistence.OneToMany;

@Entity
@Table(name="estadoOrdenServicio")
@NamedQueries
    ({
    @NamedQuery(name="estadoOrdenServicio.lista", query="SELECT o FROM EstadoOrdenServicio o ORDER BY o.clave"),
    @NamedQuery(name="estadoOrdenServicio.listaNombre", query="SELECT o FROM EstadoOrdenServicio o WHERE o.nombre LIKE (:valor) ORDER BY o.nombre")
    })

public class EstadoOrdenServicio implements Serializable
    {
    @Id
    @Basic(optional=false)
    @Column(name="clave",nullable=false)
    private String clave;
    
    @Basic(optional=false)
    @Column(name="nombre",nullable=false)
    private String nombre;
    
    @OneToMany(mappedBy="objEstado",cascade=CascadeType.ALL)
    private Collection<OrdenServicio> ordenes;
    
    public EstadoOrdenServicio()
        {clave = Configuracion.getFormatoClave().format(new Date());}
    
    public void setClave(String clave)      {this.clave = clave;}
    public void setNombre(String nombre)    {this.nombre = nombre;}
    
    public String getClave()                {return clave;}
    public String getNombre()               {return nombre;}
    public Collection<OrdenServicio> getOrdenes()   {return ordenes;}
    
    @Override
    public String toString()                {return this.clave+" - "+this.nombre;}
    }
